/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.deployment.manager.search;

import br.com.deployment.daoImpl.QuestionnaireResponseDAOImpl;
import br.com.deployment.entities.Executor;
import br.com.deployment.entities.NotaryOffice;
import br.com.deployment.entities.QuestionnaireResponse;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

/**
 *
 * @author ely
 */
@ManagedBean
@ViewScoped
public class ManagerSearcheQuestionnaireResponse {

    @EJB
    QuestionnaireResponseDAOImpl questionnaireResponseService;
    
    // Lista de Questionários não finalizados
    private List<QuestionnaireResponse> questionnaireNotFinallys;
    // Lista de Questionários finalizados
    private List<QuestionnaireResponse> questionnaireFinallys;
    // Lista de Questionário por data Hoje (new Date)
    private List<QuestionnaireResponse> questionnaireDates;
    // Lista de Próximos Questionários
    private List<QuestionnaireResponse> questionnaireNext;
    // Lista de Questionários Pendentes
    private List<QuestionnaireResponse> questionnairePendings;
    // Lista de Quesionário da Pesquisa
    private List<QuestionnaireResponse> searchQuestionnaireResponse;
    
    // Objeto Questionário para visualizar a Data atual 
    QuestionnaireResponse questionnaireResponseDate;
    
    // Objeto para pesquisar Questionário
    QuestionnaireResponse questionnaireResponse;
    
   // Objeto da Pesquisa Executor
    private Executor executor;
    
    // Objeto da Pesquisar Cartório
    private NotaryOffice notatyOffice;

    public ManagerSearcheQuestionnaireResponse() {
        questionnaireNotFinallys    = new ArrayList<QuestionnaireResponse>();
        questionnaireFinallys       = new ArrayList<QuestionnaireResponse>();
        questionnaireNext           = new ArrayList<QuestionnaireResponse>();
        questionnairePendings       = new ArrayList<QuestionnaireResponse>();
        searchQuestionnaireResponse = new ArrayList<QuestionnaireResponse>();
        questionnaireResponse       = new QuestionnaireResponse();
        executor                    = new Executor();
        notatyOffice                = new NotaryOffice();
        questionnaireResponse.setExecutor(executor);
        questionnaireResponse.setNotaryOffice(notatyOffice);
        questionnaireResponseDate   = new QuestionnaireResponse();
        questionnaireResponseDate.setDateQ(new Date());
    }

    // Método para Visualizar Informações 
    public void informacao(QuestionnaireResponse q){
        this.questionnaireResponse = q;
//        org.primefaces.context.RequestContext.getCurrentInstance().execute("dialog.show();");
    }
    
    // Método para Pesquisar o Questionário
    public void searchQResponse(){
        searchQuestionnaireResponse = questionnaireResponseService.searchQuestionnaireResponse(questionnaireResponse);
    }
    
    // Método para listar os Questionários do dia
    public List<QuestionnaireResponse> lstQuestionnaireResponseDate() {
        return questionnaireDates = questionnaireResponseService.findQuestionnaireResponseDate(new Date());
    }
    // Método para listar os Próximos Questionários
    public List<QuestionnaireResponse> lstQuestionnaireResponseNext() {
       return questionnaireNext = questionnaireResponseService.findQuestionnaireResponseNext(new Date());
    }
    
    // Método para listar os Questionários Pendentes
    public List<QuestionnaireResponse> lstQuestionnaireResponsePending(){
        return questionnairePendings = questionnaireResponseService.findQuestionnaireResponsePending(new Date());
    }
    
    // Método para listar os Questionários Finalizados
    public List<QuestionnaireResponse> lstQuestionnaireResponseFinnaly(){
        return questionnaireFinallys = questionnaireResponseService.findQuestionnaireResponseFinnaly();
    }
    
    
    public List<QuestionnaireResponse> getQuestionnaireNotFinally() {
        return questionnaireNotFinallys;
    }

    public List<QuestionnaireResponse> getQuestionnaireNotFinallys() {
        return questionnaireNotFinallys;
    }

    public void setQuestionnaireNotFinallys(List<QuestionnaireResponse> questionnaireNotFinallys) {
        this.questionnaireNotFinallys = questionnaireNotFinallys;
    }

    public List<QuestionnaireResponse> getQuestionnaireFinallys() {
        return questionnaireFinallys;
    }

    public void setQuestionnaireFinallys(List<QuestionnaireResponse> questionnaireFinallys) {
        this.questionnaireFinallys = questionnaireFinallys;
    }

    public List<QuestionnaireResponse> getQuestionnaireDates() {
        return questionnaireDates;
    }

    public void setQuestionnaireDates(List<QuestionnaireResponse> questionnaireDates) {
        this.questionnaireDates = questionnaireDates;
    }

    public QuestionnaireResponse getQuestionnaireResponseDate() {
        return questionnaireResponseDate;
    }

    public void setQuestionnaireResponseDate(QuestionnaireResponse questionnaireResponseDate) {
        this.questionnaireResponseDate = questionnaireResponseDate;
    }

    public QuestionnaireResponse getQuestionnaireResponse() {
        return questionnaireResponse;
    }

    public void setQuestionnaireResponse(QuestionnaireResponse questionnaireResponse) {
        this.questionnaireResponse = questionnaireResponse;
    }

    public List<QuestionnaireResponse> getQuestionnaireNext() {
        return questionnaireNext;
    }

    public void setQuestionnaireNext(List<QuestionnaireResponse> questionnaireNext) {
        this.questionnaireNext = questionnaireNext;
    }

    public List<QuestionnaireResponse> getQuestionnairePendings() {
        return questionnairePendings;
    }

    public void setQuestionnairePendings(List<QuestionnaireResponse> questionnairePendings) {
        this.questionnairePendings = questionnairePendings;
    }

    public List<QuestionnaireResponse> getSearchQuestionnaireResponse() {
        return searchQuestionnaireResponse;
    }

    public void setSearchQuestionnaireResponse(List<QuestionnaireResponse> searchQuestionnaireResponse) {
        this.searchQuestionnaireResponse = searchQuestionnaireResponse;
    }

    public Executor getExecutor() {
        return executor;
    }

    public void setExecutor(Executor executor) {
        this.executor = executor;
    }

    public NotaryOffice getNotatyOffice() {
        return notatyOffice;
    }

    public void setNotatyOffice(NotaryOffice notatyOffice) {
        this.notatyOffice = notatyOffice;
    }

    
    
    
    
}
